package com.whfc.base.service;

import com.whfc.base.dto.AppWarnFreqConfigDTO;
import com.whfc.base.enums.AppModuleType;
import com.whfc.common.exception.BizException;

import java.util.Date;
import java.util.List;

/**
 * @Description: 报警频率设置
 * @author: sungu0dong
 * @version: 1.0
 * @date: 2020-11-27 11:25
 */
public interface WarnConfigService {

    /**
     * 检测报警频率服务
     *
     * @param deptId
     * @param moduleType
     * @param ruleType
     * @param objectId
     * @param triggerTime
     * @return
     * @throws BizException
     */
    boolean checkAlarmFrequency(Integer deptId, Integer moduleType, Integer ruleType, String objectId, Date triggerTime) throws BizException;

    /**
     * 删除报警设置缓存
     *
     * @param deptId
     * @param warnModuleType
     * @param type
     * @throws BizException
     */
    void refreshWarnConfig(Integer deptId, Integer warnModuleType, Integer type) throws BizException;

    /**
     * 获取报警频率配置
     *
     * @param deptId     组织机构ID
     * @param moduleType 模块
     * @return 报警频率配置
     */
    List<AppWarnFreqConfigDTO> getFreqConfigList(Integer deptId, AppModuleType moduleType) throws BizException;

    /**
     * 设置报警频率配置
     *
     * @param deptId     组织机构ID
     * @param moduleType 模块
     * @param list       报警频率配置信息
     */
    void freqConfigure(Integer deptId, AppModuleType moduleType, List<AppWarnFreqConfigDTO> list) throws BizException;

}
